home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Cube 4: Multimedia Applications
/
MacCube Volume 4: Multimedia Applications.iso
/
Graphics
/
POV Ray
/
POVRAY II (FPU)
/
INCLUDE
/
SHAPES.INC
< prev
next >
Wrap
Text File
|
1993-10-01
|
3KB
|
150 lines
// Persistence Of Vision Raytracer 2.0
// Standard shapes include file.
#declare Shapes_Inc_Temp = version
#version 2.0
/*
NOTE: This collection of standard shapes has been around since the days
of DKB-Trace and early versions of POV-Ray. Those versions had no
optomized primatives for planes, cones, disks etc. Some of the definitions
below may seem trivial or unnecessary given the new POV-Ray 2.0 object
primatives. We have retained these objects for compatibility with
earlier versions.
NOTE: With the release of POV-Ray 1.0, some of these shapes, in particular,
the "Disk_?" group, were changed from an earlier beta test and DKB-Trace
styly. The file "shapes.old" is also included in this package for
compatibility with pre-1.0 scenes.
*/
#declare Ellipsoid =
sphere {<0, 0, 0>,1}
#declare Sphere =
sphere {<0, 0, 0>,1}
#declare Cylinder_X =
quadric
{<0, 1, 1>,
<0, 0, 0>,
<0, 0, 0>, -1
}
#declare Cylinder_Y =
quadric
{<1, 0, 1>,
<0, 0, 0>,
<0, 0, 0>, -1
}
#declare Cylinder_Z =
quadric
{<1, 1, 0>,
<0, 0, 0>,
<0, 0, 0>, -1
}
// Infinite cones
#declare QCone_X =
quadric
{<-1, 1, 1>,
< 0, 0, 0>,
< 0, 0, 0>, 0
}
#declare QCone_Y =
quadric
{<1, -1, 1>,
<0, 0, 0>,
<0, 0, 0>, 0
}
#declare QCone_Z =
quadric
{<1, 1, -1>,
<0, 0, 0>,
<0, 0, 0>, 0
}
// Unit cones
// The Cone_n objects were formerly defined as intersections of
// quadrics and boxes but now can be redefined with the cone primative.
#declare Cone_X = cone {x,0,-x,1}
#declare Cone_Y = cone {y,0,-y,1}
#declare Cone_Z = cone {z,0,-z,1}
// The Plane_nn objects were formerly defined as quadrics but now can
// be redefined as a plane.
#declare Plane_YZ = plane {x,0}
#declare Plane_XZ = plane {y,0}
#declare Plane_XY = plane {z,0}
/* y^2 + z^2 - x = 0 */
#declare Paraboloid_X =
quadric
{< 0, 1, 1>,
< 0, 0, 0>,
<-1, 0, 0>, 0
}
/* x^2 + z^2 - y = 0 */
#declare Paraboloid_Y =
quadric
{<1, 0, 1>,
<0, 0, 0>,
<0, -1, 0>, 0
}
/* x^2 + y^2 - z = 0 */
#declare Paraboloid_Z =
quadric
{<1, 1, 0>,
<0, 0, 0>,
<0, 0, -1>, 0
}
/* y - x^2 + z^2 = 0 */
#declare Hyperboloid =
quadric
{<-1, 0, 1>,
< 0, 0, 0>,
< 0, 1, 0>, 0
}
#declare Hyperboloid_Y =
quadric /* Vertical hyperboloid */
{<1, -1, 1>, /* */
<0, 0, 0>, /* \ / */
<0, 0, 0>, -1 /* Like this: ) ( */
} /* / \ */
// Cube using the procedural box primitive
#declare UnitBox = box { <-1, -1, -1>, <1, 1, 1> }
// This primitive used to be an intersection of six planes. For speed,
// it is now a box and nothing else.
#declare Cube = box { <-1, -1, -1>, <1, 1, 1> }
// The Disk primitives are "capped" cylinders of unit length.
//
// They are now "unit" size, the same as a sphere with a radius of 1.
// They will now scale evenly in all directions.
#declare Disk_X = /* Capped cylinder, Length in x axis */
cylinder { x,-x,1}
#declare Disk_Y = /* Capped cylinder, Length in y axis */
cylinder { y,-y,1}
#declare Disk_Z = /* Capped cylinder, Length in z axis */
cylinder { z,-z,1}
#version Shapes_Inc_Temp